import Vue from 'vue'
import App from './App.vue'
// 引入路由对象
import router from './router'
import axios from './utils/request'
import './assets/style/reset.less'

// 按需引入 vant的结构框架，在此之前需在babel.config.js中配置
import { Card, SwipeCell, ActionSheet, List, PullRefresh, Tab, Tabs, Field, Dialog, Button, Uploader, Icon, Toast, Cell, CellGroup, NavBar } from 'vant';
// 全局注册
Vue.use(Dialog);
Vue.use(Field);
Vue.use(Button)
Vue.use(Toast);
Vue.use(NavBar);
Vue.use(Cell);
Vue.use(Uploader);
Vue.use(CellGroup);
Vue.use(Icon);
Vue.use(PullRefresh);
Vue.use(Tab);
Vue.use(Tabs);
Vue.use(List);
Vue.use(ActionSheet);
Vue.use(SwipeCell);
Vue.use(Card);
Vue.config.productionTip = false

// 过滤器，拼接路径
Vue.filter('joinPath', (val) => {
    // 判断路径是否已经是完整路径了，是，则不需要拼接，不是，则需要拼接
    // val中已经有基础路径了，那么返回val即可
    if (val && val.includes('http')) return val
        // val && val.includes('http'):短路运算，表示当val值存在在执行这一行代码
    return axios.defaults.baseURL + val
})

new Vue({
    router,
    render: h => h(App),
}).$mount('#app')